package com.info.zhiduoduo.repository.entity.partner;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableLogic;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * <p>
 * 合伙人项目佣金记录表
 * </p>
 *
 * @author bob
 * @since 2019-06-23
 */
@Data
@Accessors(chain = true)
@TableName("zdd_partner_brokerage")
public class PartnerBrokerage extends Model<PartnerBrokerage> {

    private static final long serialVersionUID = 1L;

    /**
     * 佣金id
     */
    @TableId(value = "brokerageid", type = IdType.AUTO)
    private Integer brokerageid;
    /**
     * 佣金单号
     */
    private String brokerageno;
    /**
     * 项目id, 创客团项目时为父项目id, 如果是纯代理或 开票, 则这个字段存开票的invoiceid
     */
    private Integer projectid;
    /**
     * 项目编号（项目id转为字符串,只为了显示效果）
     */
    private String projectno;
    /**
     * 项目类型 1：普通项目 2：智众包项目 3:纯代理或 开票
     */
    @TableField("project_type")
    private Integer  projectType;
    /**
     * 支付交易id
     */
    private Integer tradeid;
    /**
     * 支付交易编号
     */
    private String tradeno;
    /**
     * 合伙人id
     */
    private Integer partnerid;
    /**
     * 企业id
     */
    private Integer compid;
    /**
     * 创客id
     */
    private Integer userid;
    /**
     * 分佣对象类型 1：合伙人企业，2：合伙人创客
     */
    private Integer cooperatorType;
    /**
     * 项目成交价，与项目表中一直
     */
    private BigDecimal projectdealamount;
    /**
     * 项目服务费
     */
    private BigDecimal projectservicecharge;
    /**
     * 项目税金
     */
    private BigDecimal projecttaxfee;
    /**
     * 项目佣金
     */
    private BigDecimal brokerage;
    /**
     * 佣金比例，直接存小数，0.02表示2%
     */
    private Double ratio;
    /**
     * 二级分佣类型时，二级合伙人id
     */
    @TableField("sub_partnerid")
    private Integer subPartnerid;
    /**
     * 计佣类型 1：合伙人 2：项目服务费 3：智众包服务费 4：二级分佣 6：其他
     */
    @TableField("partner_type")
    private Integer partnerType;
    /**
     * 结算类型: 1: 自动 2: 手动销账
     */
    @TableField("settle_type")
    private Integer settleType;
    /**
     * 提现类型 1:自提 2:工作室模式
     */
    @TableField("remit_type")
    private Integer remitType;
    /**
     * 提现id
     */
    private Integer wdid;
    /**
     * 状态 1：未结算 2：已结算未提现 3：提现中 4：已提现
     */
    private Integer state;
    /**
     * 逻辑删除 0:正常 1:已删除
     */
    @TableLogic
    private Integer deleted;
    /**
     * 创建时间
     */
    private Date createtime;
    /**
     * 更新时间
     */
    private Date updatetime;

    /**
     *
     *操作员id
     *
     **/
    private Integer adminid;

    /**
     * 备注
     */
    private String remark;

    /**
     * 销账凭证路径
     */
    @TableField("voucher_path")
    private String voucherPath;

    @Override
    protected Serializable pkVal() {
        return this.brokerageid;
    }

}
